
import moment from 'moment'
export default {
    data() {
        return {
            startTime: this.$moment().subtract(6, 'days').format('YYYY-MM-DD 00:00:00'),
            endTime: this.$moment().format('YYYY-MM-DD HH:mm:ss'),
            dateTime: '',
            days: -1

        }
    },
    methods: {
        // 如果需要DateTime，可以类似覆盖
        initStartTime() {
            if (this.$route.query.startTime) { // 有时弹窗的时间不想受路由时间影响，在弹窗组件data里加个useTime:'self'
                this.startTime = this.$route.query.startTime
                this.$store.dispatch('startTime', this.$route.query.startTime)
            } else if (this.StartTime !== '') {
                this.startTime = moment(this.StartTime).format('YYYY-MM-DD HH:mm:ss')
            } else if (!this.startTime) {
                this.startTime = moment().subtract(6, 'days').format('YYYY-MM-DD 00:00:00')
                this.$store.dispatch('startTime', this.startTime)
            }
        },
        initEndTime() {
            if (this.$route.query.endTime) {
                this.endTime = this.$route.query.endTime
                this.$store.dispatch('endTime', this.$route.query.endTime)
            } else if (this.EndTime !== '') {
                this.endTime = moment(this.EndTime).format('YYYY-MM-DD HH:mm:ss')
            } else if (!this.endTime) {
                this.endTime = moment().format('YYYY-MM-DD HH:mm:ss')
                this.$store.dispatch('endTime', this.endTime)
            }
        },

        startTimeChange() {
            if (moment(this.startTime).isAfter(this.endTime)) {
                this.$message({ message: '开始时间不能晚于结束时间', type: 'warning' })
                this.startTime = moment(this.endTime).subtract(1, 'days').format('YYYY-MM-DD HH:mm:ss')
            }
            // this.$store.dispatch('startTime', this.startTime)
            // this.setParam('startTime', this.startTime)
            // this.getData()
        },
        endTimeChange() {
            if (moment(this.endTime).isAfter(moment())) {
                this.$message({ message: '结束时间不能晚于当前时间', type: 'warning' })
                this.endTime = moment().format('YYYY-MM-DD HH:mm:ss')
            } else if (moment(this.endTime).isBefore(this.startTime)) {
                this.$message({ message: '结束时间不能早于开始时间', type: 'warning' })
                this.endTime = moment().format('YYYY-MM-DD HH:mm:ss')
            }
            // this.$store.dispatch('endTime', this.endTime)
            // this.setParam('endTime', this.endTime)
            // this.getData()
        },

        formatterTime(row, column, cellValue, index) {
            var dateTimer = moment(cellValue).format('MM-DD HH:mm')
            if (dateTimer === 'Invalid date') dateTimer = '-'
            return dateTimer
        },
        formatterTimeLength(row, column, second, index) {
            var days = Math.floor(second / 86400)
            var hours = Math.floor((second % 86400) / 3600)
            var minutes = Math.floor(((second % 86400) % 3600) / 60)
            var seconds = Math.floor(((second % 86400) % 3600) % 60)
            var duration = ''
            if (days > 0) duration += days + '天'
            if (hours > 0 || days > 0) duration += hours + '小时'
            if (minutes > 0 || days > 0 || hours > 0) duration += minutes + '分'
            if (seconds > 0 || minutes > 0 || days > 0 || hours > 0) { duration += seconds + '秒' }
            if (duration) {
                return duration
            } else {
                return '-'
            }
        },

        formatterWeek(dateTime) {
            var day = moment(dateTime).format(
                'YYYY 年 MM 月 DD 日 星期'
            )
            var week = moment(dateTime).day()
            week = week.toString().replace('1', '一').replace('2', '二').replace('3', '三').replace('4', '四')
                .replace('5', '五').replace('6', '六').replace('0', '日')

            return day + week
        },
        diffTimeGetSecond(startTime, endTime) {
            return Math.abs(moment(startTime).diff(endTime) / 1000)
        }
    }
}
